// 这个文件是关于api请求抽离的js文件, 定义多个函数, 对应也给页面调用函数即可
// 封装请求的时候建议 req+请求方式+功能名
// axios 可以配置基地址(不要每次都写重复的基础路径), 只要设置了这句话, 发送请求的时候会默认拼接上基地址
// 全局修改axios配置
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'
// 不管是请求拦截器还是响应拦截器,有两个函数, 函数一是正确响应执行的函数,函数2错误响应执行的函数
// 添加响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 对响应数据做点什么 响应拦截器中response就是当前这次请求响应的结果,response中的data就是要的message和status所在的对象
    console.log('响应拦截器执行了', response)
    // console.log(res)
    // 解构赋值，拿到status和message的值
    const {
      data: { message, status },
    } = response
    // status = 0 表示成功  message
    if (status === 0) {
      layer.msg(message)
    }
    return response // 将响应的数据交给客户端
  },
  function (error) {
    // 对响应错误做点什么
    return Promise.reject(error)
  }
)
// 封装注册的api接口
function reqPostRegister(obj) {
  return axios({
    method: 'post',
    url: `/api/reguser`,

    data: handleDataFormat(obj), // 直接调用工具函数处理数据得到处理数据的结果
  })
}
// 封装登录的api接口
const reqPostLogin = (obj) => {
  return axios({
    method: 'post',
    url: '/api/login',
    data: handleDataFormat(obj),
  })
}

// 封装登录的api接口
// 现在遇到的问题 在then函数中拿到响应的结果了,但是结果给不到reqPostLogin成返回值
/* const reqPostLogin = (obj, cb) => {
 return	axios({
		method: 'post',
		url: 'http://api-breakingnews-web.itheima.net/api/login',
		// post请求携带参数使用data get请求携带参数params
		data: handleDataFormat(obj)
	}).then(res=> {
	  cb(res)
		console.log(res)
	})
} */
